package com.liuugoqing.creator.singleton.demo4;

/**
 * 赖加载
 *     线程安全，需要在获取对象时，增加一个锁；
 *     由于是在方法上直接加锁，性能较低，可以改进成吗，双重检查锁机制，DCL
 * @Author : liugq
 * @Date : 2022/6/27 14:12
 * @See : 参考类
 * @Since： JDK1.8
 * @Version : 1.0
 */
public class Singleton {
    private static volatile Singleton singleton;

    private Singleton(){}

    /**
     * 在方放上加上锁（对象锁），解决多线程同步调用的问题
     * @author liugq
     * @date 2022/6/27 14:15 
     * @return com.liuugoqing.creator.singleton.demo4.Singleton
     */
    public static synchronized Singleton getInstance(){   
        if ( null == singleton)
            singleton  = new Singleton();
        return singleton;
    }
}
